1. Field of the Invention
The present invention relates generally to a printer, an image processing device, an image processing method, and a recording medium for directly (without the help of a host computer) reading and printing image data taken with an apparatus such as a digital camera, and stored in a medium such as a memory card. More specifically, the present invention relates to an image data processing technique for making an index print.
2. Related Background Art
Recently, the digital camera has become increasingly popular with the improvement of their performance. Conventionally, when image data taken with the digital camera is to be printed, the image data stored in the memory card or the like is read by a personal computer to go through various image processing steps, and the processed data is printed by a printer.
Compared with the conventional photographs by silver-salt photographic films, it is easier for image data taken with the digital camera to carry out image processing operations such as enlargement, downscaling, and color correction. For example, a user can make an index print, in which a plurality of images taken with a digital camera are scaled down and collectively printed on a single piece of printing paper, by use of certain application software run on a personal computer.
In the index print, about 20 images, each approximately 5×4 cm in size, are collectively printed on the paper with the size of a post card. In order to obtain such an index print, it is necessary to execute several image processing operations such as the downscaling or rotating of images, by using a personal computer. As a result, a large working area for the image processing is required. Because of this, conventional application software makes so-called spool files by executing the image-processing on only the specific image data necessary to be printed.
FIG. 1 illustrates an example of an index print, in which 20 pieces of scaled-down images A1, A2, A3, . . . are printed to a sheet with the size of the postcard 4 pieces to lateral direction by 5 pieces to longitudinal direction. In FIG. 1, the lateral direction is main scanning direction X of an ink jet printer, and the longitudinal direction is the paper-feeding (sub-scanning) direction Y of the ink jet printer.
In FIG. 1, the images are arranged so that a viewer can see them correctly when the paper is placed horizontally. As can be understood from the orientation of the symbols A, B, . . . , the original images are rotated by 90 degrees in FIG. 1.
As mentioned above, in the index print, a plurality of images are printed on a single piece of paper. As a result, compared with an ordinary print in which only one image is printed on a single piece of paper, an index print takes more time to complete. Furthermore, if images to be printed are rotated, as shown in FIG. 1, even more time is required, because the image processing for rotation is necessary.
FIG. 2 is a flowchart showing the processing steps of conventional application software for making an index print. Hereinafter, the conventional processing steps for making an index print will be specifically described. In FIG. 2, the index print is performed by use of the ink jet printer having a band buffer, in which image data is expanded (decompressed) for print band by band.
Among the image data taken with the digital camera, compressed in JPEG format etc., and stored in the PC card or the like, the data needed for the index print is expanded (Step S1). Next, a spool file for the expanded image data is created on the hard disk (Step S2).
Then, a part of the image data necessary for each band is captured (Step S3) for carrying out some processing operations such as downscaling and rotation (Step S4). After this, the data are copied (expanded) to the band buffer (Step S5). If the entire image data in each band (in FIG. 1, A1, A2, A3 and A4, i.e., A, F, K, and P) have not yet been processed in the above-mentioned steps S3 to S5, the steps S3 to S5 are repeated (“NO” at Step S6).
If the entire image data in each band is ready in the band buffer (“YES” at Step S6), the image data in the band buffer is transferred to a printer to be printed (Step S7).
The steps S3 to S7 are repeated until all of the bands are processed (“NO” at Step S8), and when all of the bands are processed (“YES” at Step 8), the printing operation is completed.
Recently, a printer has been developed which is provided with an image data processing function substantially the same as that of a personal computer, and can read, without the help of a host computer, image data taken with a digital camera or the like and stored in a memory card or the like in order to print after carrying out proper image processing. This printer will hereinafter be referred to as “photo printer”.
Briefly summarized, the photo printer includes a print processing section for performing the same operations as conventional printers, and a photo image processing section for processing image data read from the memory card or the like in a manner similar to that of the personal computer.
Photo printers are very useful because it is possible to print image data taken by the digital camera without using the personal computer. Therefore, if it were possible to supply photo printers at a lower price, they would become much more popular with the improvement of resolution of the digital camera.
However, because the photo printer has both an image processing function similar to that of the personal computer and ordinary printer functions, the costs thereof tend to become high. In order to reduce the costs, the throughput or the speed of a CPU in a photo printer and the capacity of a RAM used as a working memory must be limited.
In other words, although the photo printer is capable of executing image data processing in a manner similar to a personal computer, the performance of its CPU should be limited in terms of the throughput and the speed. Further, the capacity of the buffer memory for temporarily storing image data should also be limited.
Therefore, when it is necessary for such a photo printer to temporarily store a huge volume of image data in a memory in order to perform downscaling or rotating operations, as in the case of performing the above-mentioned index print, the capacity of the buffer memory may be insufficient.
If the index print is performed by use of the above-mentioned application software run on a personal computer, there would be no problem because recent personal computers have high-performance CPUs and enough RAM capacity used as the working area. Furthermore, it may be possible to store the data on a hard disk in the form of a spool file.
However, it would be very difficult for the photo printer with a limited memory resource to complete operations that require the processing of a huge volume of image data, such as an index print, without reducing the throughput of the printing operation.
Conventionally, few effective proposals have been offered in order to solve the above problem in terms of the structure or the image data processing control method of the photo printer.